package com.eqxiu.ieditor.vo.input;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.eqxiu.ieditor.dto.ItemDTO;
import com.fasterxml.jackson.annotation.JsonIgnore;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel(description = "订单对外开放类")
public class OrderInputVO implements Serializable {

    @ApiModelProperty(value = "订单id", hidden = true)
    private Long id;

    @ApiModelProperty(value = "订单名称", hidden = true)
    private String name;

    @ApiModelProperty(value = "商品code", required = false)
    private String productCode;

    @ApiModelProperty(value = "商品id", required = false)
    private Integer productId;

    @ApiModelProperty(value = "价钱", hidden = true)
    private Integer totalFee;

    private String channel;

    @ApiModelProperty(value = "备注", hidden = true)
    private String remark;

    @ApiModelProperty(value = "创建用户", hidden = true)
    @JsonIgnore
    private String createUser;

    @ApiModelProperty(value = "订单状态", required = false, hidden = true)
    private Byte status;
    @ApiModelProperty(value = "订单时间", required = false, hidden = true)
    @JsonIgnore
    private Date createTime = new Date();

    @ApiModelProperty(value = "第三方的订单号", required = false, hidden = true)
    @JsonIgnore
    private String transactionId;

    @ApiModelProperty(value = "支付订单id", required = false, hidden = true)
    @JsonIgnore
    private String outOrderId;
    @ApiModelProperty(value = "支付类型,1 代表充值订单,2 代表消耗订单", required = true)
    // 1 代表充值订单,2 代表消耗订单
    private Integer payType;

    private Integer asyncId;
    @JsonIgnore
    private Integer mallOrderId;

    private Long couponId;
    
    private String notifyUrl;
    
    @JsonIgnore
    private String couponIds;

    private String appKey;

    private List<ItemDTO> items;

    private Integer goodsId;
    public Integer getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(Integer goodsId) {
        this.goodsId = goodsId;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public Integer getProductId() {
        return productId;
    }

    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    public Integer getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(Integer totalFee) {
        this.totalFee = totalFee;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public String getOutOrderId() {
        return outOrderId;
    }

    public void setOutOrderId(String outOrderId) {
        this.outOrderId = outOrderId;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    /**
     * @return the asyncId
     */
    public Integer getAsyncId() {
        return asyncId;
    }

    /**
     * @param asyncId
     *            the asyncId to set
     */
    public void setAsyncId(Integer asyncId) {
        this.asyncId = asyncId;
    }

    public Integer getMallOrderId() {
        return mallOrderId;
    }

    public void setMallOrderId(Integer mallOrderId) {
        this.mallOrderId = mallOrderId;
    }

    public String getCouponIds() {
        return couponIds;
    }

    public void setCouponIds(String couponIds) {
        this.couponIds = couponIds;
    }

    public Long getCouponId() {
        return couponId;
    }

    public void setCouponId(Long couponId) {
        this.couponId = couponId;
    }

	public List<ItemDTO> getItems() {
		return items;
	}

	public void setItems(List<ItemDTO> items) {
		this.items = items;
	}

	public String getAppKey() {
		return appKey;
	}

	public void setAppKey(String appKey) {
		this.appKey = appKey;
	}

	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

}
